package net.zoneland.zrdp.biz.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import net.zoneland.zrdp.common.annotation.Excel;
import net.zoneland.zrdp.common.core.domain.BaseEntity;

import java.time.LocalDateTime;

/**
 * 流程工单记录对象 zrdp_flow_main_info
 *
 * @author zonevue
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class  FlowMainInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 流程id */
    @Excel(name = "流程id")
    private String piid;

    /** 工单号 */
    @Excel(name = "工单号")
    private String workId;

    /** 工单标题 */
    @Excel(name = "工单标题")
    private String workName;

    /** 上级流程id */
    private String ppiid;

    /** 申请人uid */
    @Excel(name = "申请人uid")
    private String userId;

    /** 申请人姓名 */
    @Excel(name = "申请人姓名")
    private String userName;

    /** 申请人员工号 */
    private String userIdCard;

    /** 申请人组织dn */
    private String orgDn;

    /** 部门编码 */
    @Excel(name = "申请人组织编码")
    private String orgCode;

    /** 申请人组织名称 */
    @Excel(name = "申请人组织名称")
    private String orgName;

    /** 申请人电话 */
    private String mobile;

    /** 申请人邮箱 */
    private String email;

    /** 流程模版编号 */
    private String templateId;

    /** 流程状态 */
    @Excel(name = "流程状态", dictType = "flow_status")
    private String state;

    /** 流程业务信息json */
    private String bizInfo;

    /** moa字段显示列表 */
    private String moaShowName;

    /** 工单描述 */
    private String description;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String company;

    /** 当前节点 */
    @Excel(name = "当前节点")
    private String nodeName;

    /** 当前处理人ids 多个逗号分隔 */
    private String ownerId;

    /** 当前处理人名称 多个逗号分隔 */
    @Excel(name = "处理人名称")
    private String ownerName;
    /** 是否删除 */
    @Excel(name = "是否删除", readConverterExp = "0=正常,1=删除")
    private Integer deleted;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime finishTime;

}
